﻿using System;
namespace Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik {
    
    
    public partial class KarrJareleparimisteValjavote : global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.KarrValjavote, global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKarrJareleparimisteValjavote {
        
        private System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKarrJareleparimine> @__jareleparimised = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKarrJareleparimine>();
        
        private System.DateTime? @__vahemikuAlgusKP;
        
        private System.DateTime? @__vahemikuLoppKP;
        
        public KarrJareleparimisteValjavote() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public KarrJareleparimisteValjavote(System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKarrJareleparimine> @jareleparimised, System.DateTime? @vahemikuAlgusKP, System.DateTime? @vahemikuLoppKP, global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IIsik @isik, global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKarrJareleparimine @jareleparimine, System.Int64? @asjaLiikKL, System.Boolean? @arhiivist, System.Boolean? @piiratudParing) : 
                base(@isik, @jareleparimine, @asjaLiikKL, @arhiivist, @piiratudParing) {
            this.@__jareleparimised = @jareleparimised;
            this.@__vahemikuAlgusKP = @vahemikuAlgusKP;
            this.@__vahemikuLoppKP = @vahemikuLoppKP;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected KarrJareleparimisteValjavote(IKarrJareleparimisteValjavote @karrJareleparimisteValjavote) : 
                base(@karrJareleparimisteValjavote.Isik, @karrJareleparimisteValjavote.Jareleparimine, @karrJareleparimisteValjavote.AsjaLiikKL, @karrJareleparimisteValjavote.Arhiivist, @karrJareleparimisteValjavote.PiiratudParing) {
            this.@__jareleparimised = @karrJareleparimisteValjavote.Jareleparimised;
            this.@__vahemikuAlgusKP = @karrJareleparimisteValjavote.VahemikuAlgusKP;
            this.@__vahemikuLoppKP = @karrJareleparimisteValjavote.VahemikuLoppKP;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        public KarrJareleparimisteValjavote(IKarrValjavote @karrValjavote) : 
                base(@karrValjavote) {
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKarrJareleparimine> Jareleparimised {
            get {
                return this.@__jareleparimised;
            }
            set {
                this.@__jareleparimised = value;
            }
        }
        
        public virtual System.DateTime? VahemikuAlgusKP {
            get {
                return this.@__vahemikuAlgusKP;
            }
            set {
                this.@__vahemikuAlgusKP = value;
            }
        }
        
        public virtual System.DateTime? VahemikuLoppKP {
            get {
                return this.@__vahemikuLoppKP;
            }
            set {
                this.@__vahemikuLoppKP = value;
            }
        }
    }
}
